Force sensitive input devices and methods

ABSTRACT

Illustrative embodiments of force sensitive input devices and methods are disclosed. In at least one embodiment, an input device may comprise a first input key configured to output a first analog signal as a function of force applied to the first input key, a second input key configured to output a second analog signal as a function of force applied to the second input key, a third input key configured to output a third analog signal as a function of force applied to the third input key, a fourth input key configured to output a fourth analog signal as a function of force applied to the fourth input key, and a controller configured to output movement data including both direction and magnitude in response to the first, second, third, and fourth analog signals, where the movement data is formatted for presentation to a driver of a computing device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/804,779, filed Mar. 14, 2013, now U.S. Pat. No. 8,717,202, the entiredisclosure of which is incorporated by reference herein.

TECHNICAL FIELD

The present disclosure relates, generally, to input devices and methodsand, more particularly, to force sensitive input devices and methods.

BACKGROUND

One common input device used in interfacing with a computing device isthe digital switch or button. Digital switches typically include aphysical electrical contact designed to present a low electricalresistance when the switch is activated and an open circuit when theswitch is not activated. Such switches generally have a binary output(i.e., on or off, high or low). Many types of physical mechanisms, withdifferent behaviors, may be used for digital switches. For example,rocker switches, toggle switches, tactile switches, and sliding switchesare all examples of switches that take discrete on or off values. Somedigital switches can represent more than two values (e.g., via multiplepositions) by connecting some combination of three or more contacts.However, all of these switches have the significant limitation of onlybeing able to take a discrete number of positions and, thus, only beingable to represent a limited set of possible user intents.

Analog sensors may also be used in interfacing with a computing deviceto achieve more granularity along a continuum of user intent. As analogsensors typically measure a physical behavior or phenomenon that canvary continuously under the control of the user, they generally have acontinuous range of output values. One example of an analog sensor is apotentiometer (i.e., variable resistor) coupled to a slider or knob thatis manipulated by a user. The user may adjust the slider or knob to setthe resistance of the potentiometer along a continuum of values, andthis resistance may be measured by an appropriate circuit. Prior analogsensors, such as those based on variable resistors, have suffered frompoor response time due to the measurement methods used and/or therelaxation time required by the materials utilized. Prior analog sensorshave also provided poor tactile, or haptic, response that does not feedback the performance of the sensor to the user or provide reassurancethat the input would be what the user expected.

When used in an input device, a sensor must fit into the form factorneeded for the particular application. One common form factor used forinterfacing with a computing device is the keyswitch (or “key”), whichhas been used in personal computer keyboards, gaming controllers,control panels of computer-numerically controlled (CNC) industrialequipment (e.g., lathes, saws, milling machines, and the like), andother computing devices. The key typically includes a resilientcomponent (e.g., a metal coil spring, a rubber dome, etc.) that returnsa keycap to a home state when a user is not interacting with the key.For many analog sensors, the incorporation of the additional circuitryused to measure the subject physical behavior or phenomenon into theform factor of a standard key is impractical. For instance, in an analogsensor utilizing a potentiometer (as described above), the potentiometermay not fit within the form factor of a standard key.

Gaming controllers used as input devices are often used to control themovement and/or actions of a character in an electronic game (e.g., acomputer game). Gaming controllers typically include a number of digitalswitches or buttons. As described above, the digital buttons of suchgaming controllers typically have a binary output that results in acharacter either moving at a constant speed or not moving at all. Whilecontrolling a character using four digital buttons (e.g., up, down,left, and right buttons) may result in a precise direction of movement,the magnitude or speed of movement is fixed. Some gaming controllersalso include an analog joystick to allow more granular control ofcharacter movement and/or actions. Typically, analog sensors in thegaming controller determine how far the joystick is displaced from acenter position along both an x-axis and a y-axis (simultaneously).Thus, in contrast to digital buttons, an analog joystick is able tocontrol character movement in any direction (i.e., 360 degrees) and atdifferent magnitudes (based on how far the joystick is moved from thecenter position). Unlike digital buttons, however, a user is not able toprecisely control the direction of character movement (e.g., at exactly90 degrees) with an analog joystick.

SUMMARY

The present invention comprises one or more of the features recited inthe appended claims and/or the following features which, alone or in anycombination, may comprise patentable subject matter:

According to one aspect, an input device may comprise a first input keyconfigured to output a first analog signal as a function of forceapplied to the first input key, a second input key configured to outputa second analog signal as a function of force applied to the secondinput key, a third input key configured to output a third analog signalas a function of force applied to the third input key, a fourth inputkey configured to output a fourth analog signal as a function of forceapplied to the fourth input key, and a controller configured to outputmovement data including both direction and magnitude in response to thefirst, second, third, and fourth analog signals, where the movement datais formatted for presentation to a driver of a computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

The concepts described in the present disclosure are illustrated by wayof example and not by way of limitation in the accompanying figures. Forsimplicity and clarity of illustration, elements illustrated in thefigures are not necessarily drawn to scale. For example, the dimensionsof some elements may be exaggerated relative to other elements forclarity. Further, where considered appropriate, the same referencelabels or similar reference labels (e.g., reference labels ending in thesame two digits) have been repeated among the figures to indicatecorresponding or analogous elements. The detailed descriptionparticularly refers to the accompanying figures in which:

FIG. 1 is a cross-sectional view of one illustrative embodiment of aforce sensitive input device;

FIG. 2 is a perspective view of one illustrative embodiment of an inputdevice including a number of force sensitive input keys and a number ofbinary input keys;

FIG. 3 is a partially-exploded perspective view of several components ofthe input device of FIG. 2;

FIG. 4 is a cross-sectional view of another illustrative embodiment of aforce sensitive input key that may be used in the input device of FIG.2; and

FIG. 5 is a simplified flow diagram showing one illustrative embodimentof a force sensitive input method.

DETAILED DESCRIPTION OF THE DRAWINGS

While the concepts of the present disclosure are susceptible to variousmodifications and alternative forms, specific exemplary embodimentsthereof have been shown by way of example in the drawings and willherein be described in detail. It should be understood, however, thatthere is no intent to limit the concepts of the present disclosure tothe particular forms disclosed, but, on the contrary, the intention isto cover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention as defined by the appended claims.

In the following description, numerous specific details, such as typesand interrelationships of circuit components, are set forth in order toprovide a more thorough understanding of the present disclosure. It willbe appreciated, however, by one skilled in the art that embodiments ofthe disclosure may be practiced without such specific details. In otherinstances, various circuit components have not been shown in detail (ornot labeled in every instance) in order to not obscure the invention.Those of ordinary skill in the art, with the included descriptions, willbe able to implement appropriate functionality without undueexperimentation.

References in the specification to “one embodiment,” “an embodiment,”“an illustrative embodiment,” etcetera, indicate that at least oneembodiment described may include a particular feature, structure, orcharacteristic, but not every embodiment necessarily includes theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same embodiment. Further, when aparticular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the art to effect such feature, structure,or characteristic in connection with other embodiments whether or notexplicitly described.

Referring now to FIG. 1, one illustrative embodiment of a forcesensitive input device 10 is shown in cross-section. In thisillustrative embodiment, the input device 10 generally includes a button12, a resilient component 14, a reflectance sensor 16, and a housing 18.In some embodiments, such as that shown in FIG. 1, a bottom side of thehousing 18 may be open, allowing the input device 10 to be secured to asupport surface, such as a printed circuit board (PCB) 20. It iscontemplated that, in other embodiments, the input device 10 may containadditional or different components to those illustrated in FIG. 1.

The button 12 of the input device 10 includes a surface 22 that isexposed through the housing 18 and is designed to be pressed by a user.The button 12 is movable relative to the housing 18 along an axis 24between two end positions. The button 12 is illustrated in FIG. 1 in atop end position. When the surface 22 of the button is pressed by auser, the button 12 may move along the axis 24 (downward in FIG. 1)until the button 12 reaches a bottom end position. In the illustrativeembodiment, a bottom surface 26 of the button 12 will be proximate tothe PCB 20 when the button 12 is in the bottom end position. As thebutton 12 is an analog mechanism, the button 12 is positionable at aninfinite number of positions between the top and bottom end positions.

The button 12 includes a reflective surface 28 that partially or fullyreflects some or all types of light. By way of example, the reflectivesurface 28 may reflect light of a particular wavelength or spectrum ofwavelengths. In the illustrative embodiment, the reflective surface 28is a surface of the button 12 (i.e., the reflective surface 28 isintegrally formed with the button 12). In other embodiments, thereflective surface 28 may be coupled to the button 12 after the button12 has been formed. By way of example, the reflective surface 28 may beapplied to a surface of the button 12 as a reflective coating.

The resilient component 14 of the input device 10 biases the button 12toward the top end position. As shown in FIG. 1, the resilient component14 is illustratively embodied as a metal coil spring 14. One end of thespring 14 is engaged with the button 12, while the other end of thespring 14 is engaged with the PCB 20. In the illustrative embodiment ofFIG. 1, the spring 14 has a generally cylindrical shape, and the button12 and the PCB 20 each include a cylindrical feature that is receivedwithin one end of the spring 14 to maintain engagement with the spring14. The resilient nature of the spring 14 allows the button 12 to movealong the axis 24 when a force is applied to the button 12 by a user,but causes the button 12 to return to the top end position, shown inFIG. 1, when the force is no longer applied by the user. Thisconfiguration of the button 12 and the spring 14 provides hapticfeedback that allows a user to feel the amount of input (i.e., force)that the user is applying to the button 12. Furthermore, the spring 14may be designed with a fast, robust response that requires very littlerelaxation time. It will be appreciated that, in other embodiments, theresilient component 14 may be any type of component that allows movementof the button 12 along the axis 24, but biases the button 12 toward thetop end position (e.g., a rubber dome).

The reflectance sensor 16 of the input device 10 is configured to emitlight that impinges upon the reflective surface 28. An amount of thelight that impinges upon the reflective surface 28 will be reflectedback toward the reflectance sensor 16 and will be measured by thereflectance sensor 16. As shown in FIG. 1, the light emitted from thereflectance sensor 16 that is reflected by the reflective surface 28 andthen returns to the reflectance sensor 16 generally travels along anaxis 30 that is parallel to the axis 24. In the illustrative embodiment,the reflective surface 28 is generally perpendicular to the axis 30. Asthe button 12 moves along the axis 24 (e.g., when a force is applied tothe button 12 by a user), the reflective surface 28 of the button 12will move along the axis 30.

As the distance between the reflectance sensor 16 and the reflectivesurface 28 of the button 12 changes, the amount of light that isreflected from the reflective surface 28 back to the reflectance sensor16 will also change (for instance, when the reflective surface 28 andthe reflectance sensor 16 are farther apart, more scattering will occurand less light will return to the reflectance sensor 16). In particular,the amount of light that is reflected from the reflective surface 28 ismonotonically related to the displacement of the button 12 from the topend position (i.e., the distance the button 12 travels along the axis24, which is also the distance the reflective surface 28 travels alongthe axis 30). As such, by measuring the amount of light that isreflected from the reflective surface 28, the reflectance sensor 16 isable to indirectly measure the distance between the reflectance sensor16 and the reflective surface 28 of the button 12.

The measurement by the reflectance sensor 16 of the amount of light thatis reflected from the reflective surface 28 is related not only to thedistance between the reflectance sensor 16 and the reflective surface 28but also, as a result of the spring 14, to the force applied to thebutton 12 by a user. The particular properties of the spring 14 (orother resilient component 14) used in the input device 10 will result ina particular relationship between the amount of force applied to thebutton 12 and the displacement of the button 12 allowed by the spring14. In the illustrative embodiment, the spring 14 is configured to allowa displacement of the button 12 from the top end position that isproportional to the force applied to the button 12. As the displacementof the button 12 is proportional to the force applied, and the amount oflight reflected from the reflective surface 28 is monotonically relatedto the displacement of the button 12, the amount of the light that isreflected from the reflective surface 28 is also monotonically relatedto the force applied to the button 12. As such, by measuring the amountof light that is reflected from the reflective surface 28, thereflectance sensor 16 is also able to indirectly measure a force appliedto the button 12 by a user.

In the illustrative embodiment, the reflectance sensor 16 includes alight-emitting diode (LED) configured to emit the light and aphototransistor configured to receive and measure the amount of thelight that is reflected from the reflective surface 28. In particular,the reflectance sensor 16 is illustratively embodied as a QRE1113Minature Reflective Object Sensor, commercially available from FairchildSemiconductor Corporation of San Jose, Calif. As shown in FIG. 1, thereflectance sensor 16 may be soldered to the PCB 20 with the LED and thephototransistor facing the reflective surface 28. When energized, theLED of the reflectance sensor 16 emits infrared light toward thereflective surface 28. Infrared light returning from the reflectivesurface 28 to the reflectance sensor 16 impinges upon thephototransistor. In the illustrative embodiment, the phototransistor ofthe reflectance sensor 16 is a bipolar junction transistor (BJT) with alight sensitive base. As such, the phototransistor will output an analogsignal (e.g., of varying voltage) that is a function of the amount ofthe light that is reflected from the reflective surface 28 back to thereflectance sensor 16. This analog signal may be processed to determinea force applied to the button 12, as further described below. It iscontemplated that, in other embodiments, the reflectance sensor 16 mayhave other configurations that include different light sources and/orlight sensors.

The housing 18 may have any suitable shape for supporting the componentsof the input device 10. In the illustrative embodiment, the housing 18defines a chamber 32 in an interior portion of the housing 18. As shownin FIG. 1, the reflectance sensor 16 is disposed in the chamber 32. Aportion of the button 12 is also disposed in the chamber 32. Inparticular, the reflective surface 28 of the button 12 is disposed inthe chamber 32. In the illustrative embodiment, the housing 18 is formedof an opaque material, such that the light emitted by the reflectancesensor 16 does not pass through the housing 18. The opaque housing 18also prevents outside light from impinging upon and being measured bythe reflectance sensor 16.

Referring now to FIGS. 2 and 3, one illustrative embodiment of an inputdevice 100 is shown as a gaming controller, or game pad, 100. While thepresent disclosure generally describes applications involving electronicgames (e.g., computer games), it will be appreciated that one or morefeatures of the input device 100 may advantageously be incorporated intoinput devices for many applications in the fields of consumer,industrial, medical, and other electronics. It is contemplated thatinput devices similar to those described herein may be useful intranslating user intent to a form interpretable by any type of computingdevice, including, but not limited to, personal computers, entertainmentsystems, industrial computing systems, stenography devices, medicalcomputing systems, and other computing devices. By way of example, whenan input device according to the present disclosure is used in a medicalapplication (specifically, radiology), the force applied by a user to aforce sensitive input key of the input device may control how fast acomputerized tomography system changes between the displayed slices.

As shown in FIG. 2, the game pad 100 includes a number of forcesensitive input keys 110 and a number of binary input keys 160. Inparticular, the illustrative embodiment of the game pad 100 includes sixforce sensitive input keys 110 that are arranged near the center of thegame pad 100 and sixteen binary input keys 160 that surround the forcesensitive input keys 110 (not all binary input keys 160 are labeled inFIG. 2). It is contemplated that, in other embodiments, the game pad 100may include any number of force sensitive input keys 110 and any numberof binary input keys 160 (including no binary input keys 160). Asdescribed below, an arrangement of at least four force sensitive inputkeys 110 may be advantageous for certain applications. The game pad 100also includes a cover 150 to protect the internal electronic componentsof the game pad 100. The game pad 100 is shown in FIG. 3 with the cover150 removed to expose several internal components of the game pad 100.It is contemplated that, in other embodiments, the game pad 100 maycontain additional or different components to those illustrated in FIGS.2 and 3.

Except as noted below, each of the force sensitive input keys 110 of thegame pad 100 has a similar configuration and operation to the forcesensitive input device 10 described above (with reference to FIG. 1). Inthe illustrative embodiment shown in FIGS. 2 and 3, the force sensitiveinput keys 110 (and the binary input keys 160) of the game pad 100 areeach embodied in the form factor of a standard keyswitch. In particular,the button 112 of each force sensitive input key 110 has a two-partconstruction that includes a keycap 134 configured to be pressed by auser and a plunger 136 that engages a spring 114 within a housing 118.The housing 118, plunger 136, and spring 114 of each force sensitiveinput key 110 are illustratively embodied as an MX Series DesktopProfile 0.60 Inch Keyswitch (with linear actuation), commerciallyavailable from Cherry Corporation of Pleasant Prairie, Wis. The button162 of each binary input key 160 has a similar two-part constructionthat includes a key cap 184 and a plunger 186 that engages a spring 164within a housing 168. The housing 168, plunger 186, and spring 164 ofeach binary input key 160 are illustratively embodied as an MX SeriesDesktop Profile 0.60 Inch Keyswitch (with pressure point click), alsocommercially available from Cherry Corporation. The housing 118 of eachforce sensitive input key 110 and the housing 168 of each binary inputkey 160 are secured to a PCB 120.

The majority of the keycaps 134, 184 have been removed in FIG. 3 toexpose the housings 118, 168 and the plungers 136, 186 of the input keys110, 160. One keycap 134 and one keycap 184 are shown in thepartially-exploded view of FIG. 3 to indicate their relationships to theplunger 136 and the plunger 186, respectively. When the keycap 134 iscoupled to the plunger 136, the plunger 136 supports the keycap 134.When assembled, the keycap 134 and plunger 136 move together along anaxis 124 as the button 112 of the force sensitive input key 110.Similarly, when the keycap 184 is coupled to the plunger 186, theplunger 186 supports the keycap 184. When assembled, the keycap 184 andplunger 186 move together along an axis 174 as the button 162 of thebinary input key 160.

As shown in FIG. 3, for each of the force sensitive input keys 110, thereflectance sensor 116 is positioned outside the housing 118 (ratherthan within the housing, like the illustrative embodiment of the forcesensitive input device 10 shown in FIG. 1). In particular, thereflectance sensor 116 of each of the force sensitive input keys 110 issoldered to the PCB 120 in a position adjacent the housing 118. In theillustrative embodiment, the keycap 134 of each of the force sensitiveinput keys 110 includes a reflective surface 128. As shown in FIG. 3,the reflective surface 128 extends outwardly from the keycap 134 abovethe reflectance sensor 116. In the illustrative embodiment, thereflective surface 128 is integrally formed with the keycap 134 (i.e.,the reflective surface 128 is a surface of the keycap 134). In otherembodiments, the reflective surface 128 may be coupled to the keycap 134after the keycap 134 has been formed. As the button 112 (including thekeycap 134) moves along the axis 124, the reflective surface 128 willmove along an axis that is generally parallel to the axis 124. In theillustrative embodiment, the reflective surface 128 is generallyperpendicular to the axis 124 (and the axis of its travel).

Like the force sensitive input device 10 described above, each of theforce sensitive input keys 110 of the game pad 100 is configured tooutput an analog signal that is a function of the force applied to thatinput key 110. In particular, the reflectance sensor 116 of each forcesensitive input key 110 will generate an analog signal in response tothe amount of reflected light measured. As described above, since thedisplacement of the button 112 (including the keycap 134 and itsreflective surface 128) is proportional to the force applied to thekeycap 134 and the amount of light reflected from the reflective surface128 is monotonically related to the displacement of the button 112, theamount of the light that is reflected from the reflective surface 128 isalso monotonically related to the force applied to the keycap 134. Assuch, by measuring the amount of light that is reflected from thereflective surface 128, the reflectance sensor 116 is also able toindirectly measure the force applied by a user.

The analog signal output by each of the force sensitive input keys 110of the game pad 100 is transmitted to a controller 152 that determines aforce applied to each of the force sensitive input keys 110 based on therespective analog signal. In the illustrative embodiment, the controller152 of the game pad 100 is soldered to the PCB 120. In otherembodiments, the controller 152 may be external to the game pad 100. Thecontroller 152 is illustratively embodied as an ATmega16U4 8-Bit AVRMicrocontroller with 16K Bytes of ISP Flash and USB Controller,commercially available from Atmel Corporation of San Jose, Calif. Thecontroller 152 includes an analog-to-digital converter (ADC) configuredto convert the analog signals received from the force sensitive inputkeys 110 into digital signals. In other words, the ADC of the controller152 is configured to output a digital signal based upon each analogsignal received from the force sensitive input keys 110. It iscontemplated that, in other embodiments, the ADC may be separate fromthe controller 152 (i.e., a separate component soldered to the PCB 120).In the illustrative embodiment, the game pad 100 also includes one ormore low-pass filters soldered to a backside of the PCB 120 (not shown).These one or more low-pass filters are positioned between the forcesensitive input keys 110 and the ADC of the controller 152 and areconfigured to reduce noise in one or more of the analog signals from theforce sensitive input keys 110 before the analog signals are received bythe ADC.

Once the analog signals from the force sensitive input keys 110 havebeen converted into digital signals, the controller 152 of the game pad100 may determine a force applied to each of the force sensitive inputkeys 110. As described above, the magnitude of each analog signalrepresents the amount of the light measured by each force sensitiveinput key 110, which is monotonically related to the force applied tothe keycap 134 of that input key 110. As such, the controller 152 maycalculate the force applied to one of the force sensitive input keys 110using the value of the received analog signal (converted to a digitalsignal). The controller 152 may perform this calculation of the forceapplied using a mathematical function, a look-up table, or any othersuitable calculation process. The controller 152 may then performappropriate calibration, mapping, and/or scaling of the determined forceinto a format suitable for presentation to a driver of a computingdevice connected to the game pad 100.

In the illustrative embodiment, the controller 152 is configured tooutput movement data including both direction and magnitude in responseto analog signals received from four of the force sensitive input keys110 of the game pad 100. In particular, two of the force sensitive inputkeys 110 may be used to register user intent regarding movement along anx-axis (one input key 110 representing positive movement along thex-axis and one input key 110 representing negative movement along thex-axis). Likewise, two of the force sensitive input keys 110 may be usedto register user intent regarding movement along a y-axis (one input key110 representing positive movement along the y-axis and one input key110 representing negative movement along the y-axis). Using the analogsignals output by these four force sensitive input keys 110, thecontroller 152 may generate movement data that includes an x-axiscomponent and a y-axis component. When any one of the four forcesensitive input keys 110 is pressed by a user, the controller 152 maycalculate a vector in the corresponding direction, where a magnitude ofthe vector is proportional to the force applied to that input key 110 bythe user. Where multiple (e.g., two) force sensitive input keys 110 arepressed simultaneously, the controller 152 may add the calculatedvectors to determine the overall direction and magnitude of movementintended by the user. In an electronic gaming application (e.g., acomputer game), this movement data may be used to accurately andprecisely control the movement and/or actions of a character in thegame.

As mentioned above, the controller 152 may format the determinedmovement data for presentation to a driver of a computing deviceconnected to the game pad 100. For instance, the movement data may beformatted according to a Universal Serial Bus (USB) protocol (e.g., by aUSB controller included in the controller 152) where the game pad 100 iscoupled to the computing device via a USB cable. In other embodiments,the controller 152 may format the movement data according to theDirectInput protocol, the XInput protocol, or any other protocolexpected by a driver of a particular computing device. In someembodiments, the formatting performed by the controller 152 may beadjustable by a user. For instance, the user may set how differentforces applied to one of the force sensitive input keys 110 of the gamepad 100 are mapped to a 256-value scale. This configurability may allowmore users (e.g., of different abilities) to effectively use the gamepad 100. In some embodiments, the user may also be able to instruct thegame pad 100 to interpret the analog signal(s) from one or more of theforce sensitive input keys 110 like a binary input key 160 (i.e., treatany force exceeding an adjustable threshold as a binary “on” and treatall other forces applied as a binary “off”). In the illustrativeembodiment, the binary input keys 160 of the game pad 100 are configuredto output a digital signal that indicates whether or not the binaryinput key has been pressed.

Referring now to FIG. 4, another illustrative embodiment of a forcesensitive input key 110 that may be used in the game pad 100 (or otherinput devices 100) is shown in cross-section. The illustrativeembodiment of the force sensitive input key 110 shown in FIG. 4 issimilar in configuration and operation to the force sensitive input keys110 shown in FIGS. 2 and 3, except that (like the force sensitive inputdevice 10 of FIG. 1) the reflectance sensor 116 is disposed in a chamber132 defined within the housing 118. As shown in FIG. 4, the button 112of the force sensitive input key 110 has a two part construction thatincludes a keycap 134 (with a surface 122 configured to be pressed by auser) and a plunger 136 that engages a spring 114 within the housing118. The plunger 136 is movable along an axis 124 when a force isapplied to the keycap 134 by a user. The plunger 136 is illustrated inFIG. 4 in a top end position. When the surface 122 of the keycap 134 ispressed by a user, the keycap 134 and the plunger 136 may both movealong the axis 124 (downward in FIG. 4) until the button 112 reaches abottom end position.

In the illustrative embodiment of FIG. 4, the plunger 136 includes aplunger arm 138 that extends into the chamber 132 defined in the housing118. The reflective surface 128 of the button 112 is included on theplunger arm 138 and faces the reflectance sensor 116. In theillustrative embodiment, the reflective surface 128 is integrally formedwith the plunger 136 (i.e., the reflective surface 128 is a surface ofthe plunger 136). In other embodiments, the plunger arm 138 and/or thereflective surface 128 may be coupled to the plunger 136 after theplunger 136 has been formed. As the button 112 (including the plunger136) moves along the axis 124, the reflective surface 128 will movealong an axis 130 that is generally parallel to the axis 124. In theillustrative embodiment, the reflective surface 128 is generallyperpendicular to the axis 130 (as well as the axis 124). In theillustrative embodiment, the housing 118 may be formed of an opaquematerial, such that light is not able to escape and/or enter the chamber132.

Referring now to FIG. 5, one illustrative embodiment of a forcesensitive input method 200 is shown as a simplified flow diagram. Themethod 200 may be used with the force sensitive input device 10 of FIG.1, with the force sensitive input keys 110 of FIGS. 2-4, and/or with anyother suitable force sensitive input device(s). The method 200 beginswith block 202 in which a button 12 that is movable along an axis 24between two end positions is biased toward one of the two end positionsusing a resilient component 14. As described above, the button 12 may bebiased toward one of the two end positions using a spring 14. While thespring 14 allows displacement of the button 12 along the axis 24 (asdescribed below), the spring 14 continually biases the button 12 towardone of the two end positions (i.e., the block 202 is performedthroughout the method 200).

The method 200 continues with block 204 in which a reflective surface 28of the button 12 is illuminated with light that travels generallyparallel to the axis 24. In some embodiments, block 204 may involveilluminating the reflective surface 28 of the button 12 by emittinglight from an LED of a reflectance sensor 16 that faces the reflectivesurface 28. In particular, block 204 may involve emitting infrared lightfrom the LED of the reflectance sensor 16. It is contemplated that, inother embodiments, other types of light sources and/or other types oflight may be used to illuminate the reflective surface 28 of the button12. The block 204 may be performed either continuously or intermittentlythroughout the method 200.

After block 204, the method 200 continues to block 206 in which thebutton 12 is displaced from one end position (specifically, the endposition toward which it is biased in block 202) toward the other endposition. In some embodiments, block 204 may involve a user applying aforce to the button 12 to cause movement of the button 12 along the axis24. During block 206, the method 200 also involves block 208 in which anamount of the light that is reflected from the reflective surface 28 andthat travels generally parallel to the axis 24 is measured by thereflectance sensor 16. In some embodiments, block 204 may involvereceiving and measuring the reflected light using a phototransistor ofthe reflectance sensor 16. During block 208, the phototransistor of thereflectance sensor 16 may output an analog signal that is a function ofthe amount of the light that is reflected from the reflective surface28. As described above, the amount of the light that is reflected fromthe reflective surface 28 (and, hence, the magnitude(s) of the generatedanalog signal) may be monotonically related to the force applied to thebutton 12 in block 206.

After blocks 206 and 208, the method 200 continues to block 210 in whichthe force applied to the button 12 in block 206 is determined as afunction of the amount of light measured in block 208. In someembodiments, block 210 may involve a controller 152 receiving the analogsignal output by the phototransistor in block 208 and calculating theforce applied to the button 12 using this analog signal, as describedabove. In such embodiments, block 210 may involve converting the analogsignal output by the phototransistor into a digital signal using an ADCof the controller 152. In some embodiments, block 210 may also involvereducing noise in the analog signal using a low-pass filter, prior tothe analog signal being converted by the ADC.

After block 210, the method 200 may continue to block 212 in which thecontroller 152 generates movement data in response to the forcedetermined in block 210. As described above, where the method 200 isused with one or more force sensitive input devices 10 and/or forcesensitive input keys 110, the movement data generated by the controller152 may include both direction and magnitude of movement. In someembodiments, block 212 may involve formatting the movement data forpresentation to a driver of a computing device and transmitting theformatted data to the computing device.

While the disclosure has been illustrated and described in detail in thedrawings and foregoing description, such an illustration and descriptionis to be considered as exemplary and not restrictive in character, itbeing understood that only illustrative embodiments have been shown anddescribed and that all changes and modifications that come within thespirit of the disclosure are desired to be protected. There are aplurality of advantages of the present disclosure arising from thevarious features of the apparatus, systems, and methods describedherein. It will be noted that alternative embodiments of the apparatus,systems, and methods of the present disclosure may not include all ofthe features described yet still benefit from at least some of theadvantages of such features. Those of ordinary skill in the art mayreadily devise their own implementations of the apparatus, systems, andmethods that incorporate one or more of the features of the presentinvention and fall within the spirit and scope of the present disclosureas defined by the appended claims.

The invention claimed is:
 1. An input device comprising: a first inputkey configured to output a first analog signal as a function of forceapplied to the first input key; a second input key configured to outputa second analog signal as a function of force applied to the secondinput key; a third input key configured to output a third analog signalas a function of force applied to the third input key; a fourth inputkey configured to output a fourth analog signal as a function of forceapplied to the fourth input key; and a controller configured tocalculate a first vector having a first magnitude based on a value ofthe first analog signal, calculate a second vector having a secondmagnitude based on a value of the second analog signal, calculate athird vector having a third magnitude based on a value of the thirdanalog signal, calculate a fourth vector having a fourth magnitude basedon a value of the fourth analog signal, and output movement dataincluding both direction and magnitude that represent a vector additionof the first, second, third, and fourth vectors, the movement data beingformatted for presentation to a driver of a computing device.
 2. Theinput device of claim 1, wherein the controller is configured to formatthe movement data according to either the DirectInput protocol or theXInput protocol.
 3. The input device of claim 1, wherein the controlleris configured to format the movement data to a scale expected by thedriver of the computing device.
 4. The input device of claim 3, whereinthe controller is configured to format the movement data to the scaleexpected by the driver of the computing device based on auser-adjustable mapping.
 5. The input device of claim 1, wherein themovement data includes an x-axis component and a y-axis component, thex-axis component being a function of the first and second analogsignals, and the y-axis component being a function of the third andfourth analog signals.
 6. The input device of claim 5, wherein: thex-axis component represents a first distance from a resting point, thefirst distance being proportional to a force applied to one of the firstand second input keys; and the y-axis component represents a seconddistance from the resting point, the second distance being proportionalto a force applied to one of the third and fourth input keys.
 7. Theinput device of claim 1, wherein the controller comprises ananalog-to-digital converter (ADC) configured to convert the first,second, third, and fourth analog signals into digital signals.
 8. Theinput device of claim 7, further comprising a low-pass filter configuredto reduce noise in at least one of the first, second, third, and fourthanalog signals before the analog signal is received by the ADC of thecontroller.
 9. The input device of claim 1, further comprising a numberof binary input keys, each of the binary input keys being configured tooutput a digital signal indicating whether or not the binary input keyhas been pressed.
 10. The input device of claim 1, wherein the first,second, third, and fourth input keys each comprise: a button movablealong a respective axis between a first end position and a second endposition; a resilient component biasing the button toward the first endposition; and a sensor configured to measure a displacement of thebutton along the respective axis away from the first end position andtoward the second end position and to output the respective analogsignal in response to the measured displacement of the button.
 11. Theinput device of claim 10, wherein the button of each of the first,second, third, and fourth input keys comprises: a keycap configured tobe pressed by a user to move the button along the respective axis awayfrom the first end position and toward the second end position; and aplunger supporting the keycap, the plunger engaging the resilientcomponent.
 12. The input device of claim 10, wherein the resilientcomponent of each of the first, second, third, and fourth input keys isconfigured to allow a displacement of the button along the respectiveaxis away from the first end position and toward the second end positionthat is proportional to a force applied to the button by a user.